package com.example.mvvmtemplate.utli;

import java.math.BigDecimal;

/**
 * 精确计算
 */
public class BigDecimalUtil {

    /**
     * 加法
     */
    public static BigDecimal add(String big1, String big2) {
        BigDecimal bigDecimal = new BigDecimal(big1);
        BigDecimal bigDecimal2 = new BigDecimal(big2);
        return bigDecimal.add(bigDecimal2);
    }

    /**
     * 减法
     */
    public static BigDecimal subtract(String big1, String big2) {
        BigDecimal bigDecimal = new BigDecimal(big1);
        BigDecimal bigDecimal2 = new BigDecimal(big2);
        return bigDecimal.subtract(bigDecimal2);
    }

    /**
     * 乘法
     */
    public static BigDecimal multiply(String big1, String big2) {
        BigDecimal bigDecimal = new BigDecimal(big1);
        BigDecimal bigDecimal2 = new BigDecimal(big2);
        return bigDecimal.multiply(bigDecimal2);
    }

    /**
     * 除法，四舍五入保留scale位小数
     */
    public static BigDecimal divide(String big1, String big2, int scale) {
        BigDecimal bigDecimal = new BigDecimal(big1);
        BigDecimal bigDecimal2 = new BigDecimal(big2);
        return bigDecimal.divide(bigDecimal2, scale, BigDecimal.ROUND_HALF_UP);
    }
}
